package pos.dominio;

import java.util.ArrayList;
import java.util.List;


public class Tablero{
	
	//Mazo Principio Olfativo
	private GestorMazo<Carta> mazoPrinOlf;
	public GestorMazo<Carta> getMazoPrinOlf(){
		return mazoPrinOlf;
	}
	public void setMazoPrinOlf(GestorMazo<Carta> mazoPrinOlf){
		this.mazoPrinOlf = mazoPrinOlf;
	}

	//Mazo Tendencia
	private GestorMazo<Carta> mazoTend;
	public GestorMazo<Carta> getMazoTend(){
		return mazoTend;
	}
	public void setMazoTend(GestorMazo<Carta> mazoTend) {
		this.mazoTend = mazoTend;
	}

	//Mazo Noble
	private GestorMazo<Carta> mazoNoble;
	public GestorMazo<Carta> getMazoNoble(){
		return mazoNoble;
	}
	public void setMazoNoble(GestorMazo<Carta> mazoNoble){
		this.mazoNoble = mazoNoble;
	}

	//Mazos Centrales
	private List<GestorMazo<Carta>> mazosCentrales;
	public List<GestorMazo<Carta>> getMazosCentrales(){
		return mazosCentrales;
	}
	public void setMazosCentrales(List<GestorMazo<Carta>> mazosCentrales){
		this.mazosCentrales = mazosCentrales;
	}

	//Mazo Encarte
	private GestorMazo<Carta> mazoEncarte;
	public GestorMazo<Carta> getMazoEncarte(){
		return mazoEncarte;
	}
	public void setMazoEncarte(GestorMazo<Carta> mazoEncarte){
		this.mazoEncarte = mazoEncarte;
	}

	//Mazo Descarte
	private GestorMazo<Carta> mazoDescarte;
	public GestorMazo<Carta> getMazoDescarte(){
		return mazoDescarte;
	}
	public void setMazoDescarte(GestorMazo<Carta> mazoDescarte){
		this.mazoDescarte = mazoDescarte;
	}

	//MazoFactory de la Partida
	/** @uml.property  name="mazoFactory" */
	private FactoryMazo mazoFactory;
	/** Getter of the property <tt>mazoFactory</tt> * @return  Returns the mazoFactory. * @uml.property  name="mazoFactory" */
	public FactoryMazo getMazoFactory(){
		return mazoFactory;
	}
	
	public Tablero(Partida p){
		this.mazoPrinOlf = new GestorMazo<Carta>();
		this.mazoTend = new GestorMazo<Carta>();
		this.mazoNoble = new GestorMazo<Carta>();
		this.mazosCentrales = new ArrayList<GestorMazo<Carta>>();
		this.mazoEncarte = new GestorMazo<Carta>();
		this.mazoDescarte = new GestorMazo<Carta>();
		this.mazoFactory = new FactoryMazo(p, this);
	}
	
	public void crearTablero(){
		this.mazoFactory.crearMazos();
		this.mazoFactory.repartirCartas();
	}

}
